import { defineStore } from 'pinia'
import { ref } from 'vue';

//引入ts类型约束
import type { loginResponse } from '@/types/login';

// 定义 Store
export const useMemberStore = defineStore('member',() => {
    // 会员信息
    const profile = ref<loginResponse>()

    // 保存会员信息，登录时使用
    const setProfile = (val: loginResponse) => {
      profile.value = val
    }

    // 清理会员信息，退出时使用
    const clearProfile = () => {
      profile.value = undefined
    }

    // 记得 return
    return {
      profile,
      setProfile,
      clearProfile,
    }
  },
  // TODO: 持久化
  {
    //网页端配置
    // persist: true,
    //小程序端配置
    persist:{
      storage:{
        getItem(key){
          return uni.getStorageSync(key);
        },
        setItem(key, value){
          uni.setStorageSync(key, value);
        }
      }
    }
  },
)
